﻿using System.IO;

namespace Sanjeet.FastCopy.FileCopyLogic.Design1
{
    public interface IFileUtility
    {
        /// <summary>
        /// 
        /// </summary>
        string Source { get; set; }

        /// <summary>
        /// 
        /// </summary>
        string SearchPattern { get; set; }

        /// <summary>
        /// 
        /// </summary>
        string Destination { get; set; }

        /// <summary>
        /// 
        /// </summary>
        FileInfo[] FilesInfo { set; get; }

        /// <summary>
        /// 
        /// </summary>
        bool Overwrite { get; set; }

        /// <summary>
        /// 
        /// </summary>
        bool SubFolder { get; set; }

        /// <summary>
        /// 
        /// </summary>
        /// <param name="source"></param>
        /// <param name="destination"></param>
        /// <param name="overwrite"></param>
        /// <param name="subFolders"></param>
        /// <param name="searchPattern"></param>
        FileInfo[] GetFiles(string source, string searchPattern);

        /// <summary>
        /// 
        /// </summary>
        /// <param name="destination"></param>
        /// <param name="overwrite"></param>
        /// <param name="files"></param>
        void CopyFiles(string destination, FileInfo[] files);
    }
}